home *** CD-ROM | disk | FTP | other *** search
/ Precision Software Appli…tions Silver Collection 4 / Precision Software Applications Silver Collection Volume 4 (1993).iso / stats / wlplt15.exe / WLPLOT.DOC < prev    next >
Text File  |  1992-09-01  |  37KB  |  1,023 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.                                                            Wesley B. Loewer's
  16.  
  17.  
  18.                                                             Plotting Programs
  19.  
  20.                                                                   version 1.5
  21.  
  22.  
  23.  
  24.                                                (C) 1990-92,  Wesley B. Loewer
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.                                             Manual Updated: September 1, 1992
  63.  
  64.  
  65.  
  66.                                                                        Page 2
  67.  
  68.   Table of Contents
  69.  
  70.   Topic                                                                  Page
  71.  
  72.   Introduction  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
  73.   What's New  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
  74.   Latest Version  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
  75.   Hardware  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
  76.   Installing  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
  77.   Getting Started . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
  78.   Common Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
  79.   Enter Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
  80.   Special Characters  . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
  81.   Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
  82.   Algebraic Order of Operations . . . . . . . . . . . . . . . . . . . . .  11
  83.   Saving & Retrieving . . . . . . . . . . . . . . . . . . . . . . . . . .  12
  84.   PCX Format  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  12
  85.   Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  12
  86.   Printing  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  12
  87.   Revision History  . . . . . . . . . . . . . . . . . . . . . . . . . . .  13
  88.   Custom Distributions  . . . . . . . . . . . . . . . . . . . . . . . . .  15
  89.   In Closing  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  16
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.                                                             Plotting Programs
  127.  
  128.  
  129.  
  130.                                                                        Page 3
  131.  
  132.   Introduction:
  133.   These plotting programs were designed to help students understand graphs a
  134.   little better by allowing them to quickly plot a graph to see what the
  135.   function looks like.  Often, students get bogged down in button pushing and
  136.   point-by-point plotting and fail to grasp the real significance behind the
  137.   graph.  The goal of these programs is to eliminate the busy work of
  138.   plotting, freeing the student to proceed to higher level thinking.
  139.  
  140.   Speaking of free, that's one of the nice things about these programs.  (See
  141.   the "In Closing" section on page 16 of this document for the conditions in
  142.   which this program may be used without charge.)  These may not be the best
  143.   plotting programs that you can find, but you can't beat them for the price. 
  144.   I have tried to include as many features that I thought students and
  145.   teachers could actually use.  Please distribute to anyone who can use them.
  146.  
  147.  
  148.   What's New:
  149.   Below are the more significant new features added since the last released
  150.   version.
  151.  
  152.        Added extensive context sensitive on-line help.
  153.  
  154.        The distribution was changed so that all of the different modules of
  155.        WL-Plot were combined into a single executable file.  This reduces the
  156.        size of the distributed archive file considerably.  A stand alone
  157.        module version is still available.
  158.  
  159.        Now accepts special characters in variable, constant, and function
  160.        names such as π, φ, ß, √, and Γ.  (see Special Characters on p. 8)
  161.  
  162.        Removed the need for parentheses after functions.  A space is still
  163.        required after a function name to distinguish it from a user defined
  164.        variable.
  165.        Examples: sin Θ  is allowed for  sin(Θ)
  166.                  √ x    is allowed for  √(x)
  167.  
  168.        Improved the cursor movement for easier editing of equations.
  169.  
  170.        Added the unary function "gamma."
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.                                                             Plotting Programs
  191.  
  192.  
  193.  
  194.                                                                        Page 4
  195.  
  196.   Latest Version:
  197.   The latest version of WL-Plot can be found at
  198.  
  199.          Data Warp Premium BBS                    Tranquility Base BBS
  200.              (713) 355-6107                          (713) 893-9124
  201.              Spring, Texas                           Spring, Texas
  202.  
  203.  
  204.   WL-Plot is distributed as WLPLT???.*, where the ??? represents the version
  205.   number and the * is either ZIP or ARJ.  When passing WL-Plot along to
  206.   others, you must include all the files and documentation.  Currently, the
  207.   compressed archive contains the following files: 
  208.  
  209.     wlplot.exe    wlplot.doc    wlplot.hlp    helvb.fon    sample files
  210.  
  211.   See p.15 for information on ordering custom distributions.
  212.  
  213.  
  214.   Hardware:
  215.   Because WL-Plot was produced mainly for classroom use, care was taken to
  216.   make certain that the programs would work on the limited equipment which is
  217.   still being used in many schools.
  218.  
  219.   Required - You will need an IBM-compatible computer with DOS version 2.0 or
  220.   later.  The program should work with as little as 260K of available memory
  221.   for full VGA mode, 240K for CGA mode.  Because DOS itself can take up about
  222.   40-50K, the standard version of WL-Plot will not work on computers with
  223.   only 256K of memory installed.  (See p. 15 of this document for details for
  224.   ordering the stand alone version that will work on 256K computers.)  The
  225.   program can be run from either a 360k or higher floppy drive or a hard
  226.   drive.  You will also need some sort of graphics capability, either CGA,
  227.   EGA, MCGA, VGA, or Hercules.  If the Hercules adapter is being used, the
  228.   utility MSHERC must run first before starting WL-Plot.  The stand-alone
  229.   Curve Fitting program can run in a limited fashion without any graphics
  230.   capability.
  231.  
  232.   Optional - A mouse is quite useful but not necessary.  A math coprocessor
  233.   will significantly speed up the plotting process.
  234.  
  235.  
  236.   Installing WL-Plot:
  237.   To install WL-Plot, simply copy the all the files to a floppy disk or hard
  238.   drive.  If disk space is limited, such as with a bootable 360k floppy
  239.   system disk, then copy only the required files: WLPLOT.EXE, WLPLOT.HLP,
  240.   HELVB.FON.
  241.  
  242.   The environmental variable WLPLOTHELP can be set at the DOS command line to
  243.   indicate a different drive or directory for the WL-Plot help file.  For
  244.   example:
  245.  
  246.     SET WLPLOTHELP=D:\TMP
  247.  
  248.   indicates that the help file, WLPLOT.HLP, is located in the D: drive in the
  249.   \TMP subdirectory.  The use of WLPLOTHELP is purely option and is not
  250.   necessary if the help file is in the current directory.
  251.  
  252.  
  253.  
  254.                                                             Plotting Programs
  255.  
  256.  
  257.  
  258.                                                                        Page 5
  259.  
  260.   Getting Started:
  261.   Start the program by typing "wlplot" at the DOS prompt.  The user will be
  262.   presented with the following choices.
  263.  
  264.                     Assortment of Plotting Programs
  265.  
  266.   Functions
  267.        Plots functions in Cartesian, Polar, or Parametric form.  Functions
  268.        may be entered in either Algebraic or RPN (Reverse Polish Notation,
  269.        also called post-fix notation) modes.  Allows grids, logarithmic
  270.        scales, up to 10 user defined variables, separate control over viewing
  271.        window and domain, and a library of over 75 built in operators,
  272.        functions, and constants (see page 9).
  273.  
  274.   Conic Sections
  275.        Plots parabolas, circles, ellipses, and hyperbolas.  Also shows focal
  276.        points and asymptotes.
  277.  
  278.   Derivatives
  279.        Plots functions along with 1st and 2nd derivatives.
  280.  
  281.   Relation Plotter
  282.        A somewhat slow but extremely powerful plotter for graphing relations
  283.        that are not necessarily functions, such as "y=abs(x)^sin(y)."  It can
  284.        also graph a system of inequalities, such as "y < 0.5x and x > 1 and
  285.        x*y < 2."  It is also good for those situations where it is just too
  286.        difficult or even impossible to solve for y, such as "x^2+x*y^3-1-
  287.        y=0."
  288.  
  289.   Bifurcations
  290.        A bifurcation fractal plotter.  Demonstrates concepts such as Chaos
  291.        and period doubling.  To see an example, try the population equation
  292.        r*p*(1-p) with initial value=0.5, x min=1, x max=4, y min=0, y max=1,
  293.        with r as the independent variable and p as the dependent.  It's slow
  294.        so be patient.
  295.  
  296.   Curve Fitting
  297.        Fits a line or curve to a set of data points.  Uses linear,
  298.        logarithmic, exponential, power, and up to 9th degree polynomial
  299.        models.  (The stand alone version of this program can run without a
  300.        graphics adapter card.  Graphics is not needed to calculate the
  301.        coefficients of the best fit line or curve such as slope and
  302.        intercept.  Graphics capability is needed, however, if the curve is to
  303.        be displayed on the screen or printed.)  Up the 1500 data points are
  304.        allowed.
  305.  
  306.   Use CGA Graphics
  307.        Sometimes it is necessary to force WL-Plot to use CGA graphics, even
  308.        if VGA is available.  This could be due to having a very limited
  309.        amount of memory, or trying to print with a version of DOS prior to
  310.        4.0.
  311.  
  312.   Exit
  313.        Exits the program.
  314.  
  315.  
  316.  
  317.  
  318.                                                             Plotting Programs
  319.  
  320.  
  321.  
  322.                                                                        Page 6
  323.  
  324.   The above menu can be skipped by indicating the desired module on the
  325.   command line.  For example,
  326.  
  327.        wlplot function
  328.  
  329.   will cause WL-Plot to go straight to the function plotting module.  The
  330.   full syntax is
  331.  
  332.   wlplot [cga] [f[unction]] [co[nic]] [d[erivative]]
  333.          [r[elation]] [b[ifurcation]] [cu[rve-fit]] [cf[it]]
  334.  
  335.   where the characters between the []'s are optional.  The module name need
  336.   not be entered in full.  All that is required is enough of the name to make
  337.   it unique.  For example, the following are valid
  338.  
  339.        wlplot co         is acceptable for conic
  340.        wlplot d          is acceptable for derivative
  341.        wlplot cu         is acceptable for curve-fit
  342.        wlplot cf         is also acceptable for curve-fit (cfit)
  343.  
  344.   while
  345.  
  346.        wlplot c          is ambiguous between conic and curve-fit.
  347.  
  348.   The "cga" option forces the use of CGA graphics, even if VGA is available. 
  349.   This may be needed to print in older versions of DOS or to run with less
  350.   memory.
  351.  
  352.  
  353.   Common Features:
  354.   All of the modules share a similar user interface.  Below is a summary of a
  355.   few features that are common to most of the modules.  For a detailed
  356.   description, see the help file, WLPLOT.HLP.  This help file is specially
  357.   formatted for WL-Plot, but can be view by any text editor.  See the end of
  358.   WLPLOT.HLP for details on the use of the Generate Help Utility (GH.COM) and
  359.   how to safely modify the help file.  The information in this help file is
  360.   available from within the program by pressing the <F1> key.  With the
  361.   Hercules Graphics Adapter, the <F1> help feature is available only after a
  362.   graph has been plotted.
  363.  
  364.   After selecting a particular module from the main menu, another menu
  365.   appears on the screen with several groups of options listed together.  To
  366.   move from one group to another, you can use the following keys:
  367.  
  368.        Function key (ex. <F3>) - moves to a particular group
  369.        <Tab> - moves to the next group
  370.        <Shift-Tab> - move to the previous group
  371.  
  372.   To move to different options within a group, use the up and down arrow
  373.   keys.  If you have a mouse, simply point the mouse arrow to the desired
  374.   selection and click the left mouse button.  A ">" will appear at the left
  375.   of the selected option.  There are four different types of options on the
  376.   menu screen.  Each type is explained with an example.
  377.  
  378.  
  379.  
  380.  
  381.  
  382.                                                             Plotting Programs
  383.  
  384.  
  385.  
  386.                                                                        Page 7
  387.  
  388.   Toggle type            The option is turned on or off by pressing the
  389.                          space bar, the return key, or clicking on the
  390.                          option with the left mouse button.  If an X
  391.                          appears in the parenthesis, the option is turned
  392.                          on.
  393.  
  394.   Example:
  395.    (X) Grid              The grid is turned on.
  396.   Example:
  397.    ( ) Grid              The grid is turned off.
  398.  
  399.   Choice type            A list of choices is presented.  A choice is
  400.                          selected by pressing the space bar, the return
  401.                          key, or clicking on the choice with the left mouse
  402.                          button.
  403.  
  404.   Example:
  405.    ( ) Cartesian         The list presented on the left can only have one
  406.    ( ) Polar             choice between them.  In this case, the Polar
  407.    (*) Parametric        graph is selected, so the graph cannot be
  408.                          Cartesian or Parametric.
  409.  
  410.   Example:
  411.    (2) Cartesian         The Cartesian type graph has been selected.  The
  412.    ( ) Polar             "2" indicates that 2 equations will be
  413.    ( ) Parametric        simultaneously plotted.  A "1" would indicate a
  414.                          single equation would be plotted.
  415.  
  416.  
  417.   Action type            Selecting an action option causes something
  418.                          immediately to be done.  An action is activated by
  419.                          pressing the space bar, the return key, or
  420.                          clicking the left mouse button.
  421.   Example:
  422.    Save                  Saves current equations and settings to disk. 
  423.  
  424.  
  425.   Dialogue type          The program expects a response from you, such as a
  426.                          value or an equation.
  427.   Example:               The user is expected to enter in a function such
  428.    ƒ(x) =                as "sin(x)"
  429.   Example:                The user is expected to enter a number such as
  430.    x min =               "-2.5" or "2π"
  431.  
  432.   Entering Information: 
  433.   When entering numeric values or functions, the following cursor keys are
  434.   provided to make editing easier.
  435.  
  436.        <Home>- Moves cursor to beginning of the line.
  437.        <End>  - Moves cursor to end of the line.
  438.        <Left>  - Moves cursor to one character to the left.
  439.        <Right> - Moves cursor to one character to the right.
  440.        <Ctrl-Left>  - Moves cursor to previous word.
  441.        <Ctrl-Right> - Moves cursor to next word.
  442.        <Left-Mouse> - Moves cursor to any location.
  443.  
  444.  
  445.  
  446.                                                             Plotting Programs
  447.  
  448.  
  449.  
  450.                                                                        Page 8
  451.  
  452.   When entering functions, certain rules must be followed in order for the
  453.   equation parser to be able to correctly interpret the function.
  454.  
  455.   Algebraic Mode
  456.        Implied multiplication is performed when a number is followed by a
  457.        function, variable, or constant.
  458.        Examples: 2x, 3 y, 2sin(1.5π)  are all valid.
  459.  
  460.        Variable names must start with a non-digit, but may contain digits.
  461.        Examples: x, m1, Θ, _1f2 are all legal variable names.
  462.                  2x, 1m, 1_f2 are not valid names
  463.                            (interpreted as multiplication).
  464.  
  465.        Function names can be followed by a parenthesis.
  466.        Examples: sin(Θ), 3cos(2π), Γ(2.1), √(x)  are all valid.
  467.                  sinΘ, cosa+b, √x are not valid.
  468.  
  469.        Functions names can be followed by spaces.  A pair of parentheses are
  470.        implied to be surrounding the first term following the function name. 
  471.        (See Algebraic Order of Operations on p. 11 for evaluation order of
  472.        implied parentheses.)
  473.        Examples: sin Θ, 3cos 2π, Γ 2.1, √ x  are all valid.
  474.  
  475.   RPN Mode
  476.        All variables, constants and function names must be separated by
  477.        spaces.
  478.        Examples: 2 x * sin  is valid.
  479.                  2x sin  is not valid.
  480.  
  481.  
  482.   Special Characters:
  483.  
  484.        Name         Symbol     Key Stroke
  485.  
  486.        alpha          α        <Ctrl-A>
  487.        beta           ß        <Ctrl-B>
  488.        delta          δ        <Ctrl-D>
  489.        epsilon        ε        <Ctrl-E>
  490.        phi            φ        <Ctrl-F>
  491.        Phi            Φ        <Ctrl-Shift-F>
  492.        gamma          τ        <Ctrl-G>
  493.        Gamma          Γ        <Ctrl-Shift-G>
  494.        mu             µ        <Ctrl-M>
  495.        omega          Ω        <Ctrl-O>
  496.        pi             π        <Ctrl-P>
  497.        sigma          σ        <Ctrl-S>
  498.        Sigma          Σ        <Ctrl-Shift-S>
  499.        theta          Θ        <Ctrl-T>
  500.        squared        ²        <Ctrl-2>
  501.        square-root    √        <Ctrl-Shift-2>
  502.  
  503.  
  504.  
  505.  
  506.  
  507.  
  508.  
  509.  
  510.                                                             Plotting Programs
  511.  
  512.  
  513.  
  514.                                                                        Page 9
  515.  
  516.   Functions and Constants:
  517.   The following functions and constants are predefined by the WL-Plot:
  518.  
  519.   Constants:
  520.        3.141592653589793   pi or π
  521.        2.718281828459045   e
  522.  
  523.   Binary functions:
  524.        add             x+y
  525.        subtract        x-y
  526.        multiply        x*y  or  2x
  527.        divide          x/y
  528.        exponentiation  x^y
  529.        modulus         x mod y  or  mod(x,y)
  530.        combination     comb(n,r)
  531.        permutation     perm(n,r)
  532.        maximum         max(x,y)
  533.        minimum         min(x,y)
  534.  
  535.   Unary functions:
  536.        negation        -x  or  neg(x)
  537.        inverse         inv(x)
  538.        square root     sqrt(x) or √(x)
  539.        square          sq(x) or x²
  540.        round           round(x)
  541.        ceiling         ceil(x)       round up
  542.        floor           floor(x)      round down
  543.        integer         int(x)        truncate decimal
  544.        fractional      frac(x)
  545.        absolute value  abs(x)
  546.        sign            sign(x)
  547.        factorial       fact(n) or n!
  548.        gamma           gamma(x) or Γ(x)
  549.        is value real?  isreal(x)
  550.  
  551.   Trigonometry functions: (in radians)
  552.        sine            sin(x)
  553.        inverse sine    asin(x)  or  arcsin(x)
  554.        cosine          cos(x)
  555.        inverse cosine  acos(x)  or  arccos(x)
  556.        tangent         tan(x)
  557.        inverse tan     atan(x)  or  arctan(x)
  558.        inverse tan2    atan2(x,y)  or  arctan2(x,y)
  559.        cotangent       cot(x)
  560.        inverse cot     acot(x)  or  arccot(x)
  561.        secant          sec(x)
  562.        inverse sec     asec(x)  or  arcsec(x)
  563.        cosecant        csc(x)
  564.        inverse csc     acsc(x)  or  arccsc(x)
  565.        rad to deg      raddeg(x)
  566.        deg to rad      degrad(x)
  567.  
  568.  
  569.  
  570.  
  571.  
  572.  
  573.  
  574.                                                             Plotting Programs
  575.  
  576.  
  577.  
  578.                                                                       Page 10
  579.  
  580.   Logarithm related functions:
  581.        natural log     ln(x)
  582.        exponential     exp(x)
  583.        common log      log(x)
  584.        antilog         alog(x)  or  antilog(x)
  585.        log base n      logb(n,x)
  586.        hyperbolic sin  sinh(x)
  587.        inverse sinh    asinh(x)
  588.        hyperbolic cos  cosh(x)
  589.        inverse cosh    acosh(x)
  590.        hyperbolic tan  tanh(x)
  591.        inverse tanh    atanh(x)
  592.  
  593.   Bessel functions:
  594.        1st kind, 0     j_0(x)
  595.        1st kind, 1     j_1(x)
  596.        1st kind, n     j_n(n,x)
  597.        2nd kind, 0     y_0(x)
  598.        2nd kind, 1     y_1(x)
  599.        2nd kind, n     y_n(n,x)
  600.  
  601.   Trinary Function:
  602.        conditional if  if(b,t,f) 
  603.                            if b is true then use t, else use f.
  604.                          ex: if(x>=0,3x,x^2)
  605.   The "if" is probably the single most powerful function here.  It allows the
  606.   user to perform branching of sorts.  Nested if's are allowed.  For example
  607.   the following pseudo-code
  608.             if x < 2
  609.                  then y = 3x^2
  610.             else if x < 5
  611.                  then y = 6x
  612.             else
  613.                  y = x^2+5
  614.   can be coded Algebraically as
  615.             if( x<2, 3x^2, if( x<5, 6x, x^2+5))
  616.   or in RPN as
  617.             x 2 < 3 x sq * x 5 < 6 x * x sq 5 + if if
  618.  
  619.  
  620.   Boolean Comparisons: (evaluates to 1 if true, 0 if false)
  621.        less than                a<b
  622.        greater than             a>b
  623.        less than or equal to    a<=b
  624.        greater than or equal to a>=b
  625.        equal to                 a=b
  626.        not equal to             a<>b
  627.        and                      a and b    or    and(a,b)
  628.        or                       a or b     or    or(a,b)
  629.        exclusive or             a xor b    or    xor(a,b)
  630.   In numeric comparisons, non-real values cannot be compared except in the
  631.   case of "<>" when a real and a non-real are always considered to be not
  632.   equal.  In boolean comparisons, non-real values are considered false.  This
  633.   leads to the interesting result that "sqrt(-1)>0" and "sqrt(-1)<0" are both
  634.   considered false, and "not(sqrt(-1)>0)" and "not(sqrt(-1)<0" are both
  635.   considered true.
  636.  
  637.  
  638.                                                             Plotting Programs
  639.  
  640.  
  641.  
  642.                                                                       Page 11
  643.  
  644.   Stack Functions: (available in RPN mode only)
  645.        duplicate bottom element      dup   or  push
  646.        drop bottom element           drop  or  pop
  647.        swap bottom two elements      swap
  648.        recall stack element n        n rcl
  649.        store in stack element n      n sto
  650.        roll bottom n elements        n roll
  651.          n must be a number.
  652.          If n is positive the stack rolls down, a negative n rolls up
  653.  
  654.   Functions may be entered in either Algebraic or RPN notation.  Although the
  655.   Algebraic mode is recommended for general use, RPN mode has been provided
  656.   for compatibility with RPN calculators.  Also, complicated equations can
  657.   often be written more easily in RPN notation.  In Algebraic mode, all
  658.   standard rules of order of operation are obeyed.
  659.  
  660.   Algebraic Order of Operations:
  661.   highest   parentheses ()
  662.             functions
  663.             ^
  664.             *  /  mod
  665.             implied parentheses following functions
  666.             +  -
  667.             =  <>
  668.             <  <=  >  >=
  669.             and
  670.             xor
  671.   lowest    or
  672.  
  673.  
  674.   Examples:
  675.   Algebraic:     a+b*sin(c*(t-d))
  676.   RPN:           a b c t d - * sin * +
  677.  
  678.   Alebraic:      sin 2x + 1        (interpreted as sin(2x) + 1)
  679.   RPN:           2 x * sin 1 +
  680.  
  681.   Algebraic:     (2x-1)(3x^2.5+2)  (note: the '*' is optional)
  682.   RPN:           2 x * 1 - 3 x 2.5 ^ * 2 + *
  683.  
  684.   Algebraic:     -1^2   (note: ^ is executed first. The result is -1)
  685.   RPN:           1 2 ^ neg
  686.  
  687.   Algebraic:     (-1)^2   (note: - is executed first. The result is +1)
  688.   RPN:           -1 2 ^     or     1 neg 2 ^
  689.  
  690.   Algebraic:     -(1-3)^2  (result is -4)
  691.   RPN:           1 3 - 2 ^ neg
  692.  
  693.   Algebraic:     2(3(4+sin(.5)))^6  (result is 11778539.8142)
  694.   RPN:           2 3 4 .5 sin + * 6 ^ *
  695.  
  696.   Algebraic:     max(a,b)
  697.   RPN:           a b max
  698.  
  699.   Algebraic:     if(x>-2 and x<=2, 3x+2, abs(x))
  700.   RPN:           x -2 > x 2 <= and 3 x * 2 + x abs if
  701.  
  702.                                                             Plotting Programs
  703.  
  704.  
  705.  
  706.                                                                       Page 12
  707.  
  708.  
  709.   Saving & Retrieving:
  710.   When a Save or Retrieve action is selected, the main menu is cleared and
  711.   another screen appears at the top of the screen prompting you for a file
  712.   name to use to save the data.  You can type in a file name, or if you have
  713.   a mouse, double click on a file name listed.  You do not have to put an
  714.   extension on your file names.  (For example, the file name "abcd.efg" has
  715.   the extension is ".efg".)  A default extension will be appended to
  716.   filenames which do not have an explicit extension.
  717.  
  718.   PCX Format:
  719.   The PCX format is a graphics format commonly used by other software, such
  720.   as painting, word processing, and desk-top publishing programs.  Therefore,
  721.   graphs saved with the "Save-PCX" option can be imported into these other
  722.   programs.  The filename extension for PCX files is ".pcx".
  723.  
  724.   Variables:
  725.   These programs can use up to 10 variables at a time.  To indicate which
  726.   variable is to be the horizontal independent variable, move to that
  727.   variable in the "Variables" menu and enter an "i" or an "h".  The message 
  728.   "<independent variable>" will then appear.  Some programs allow you to
  729.   declare a variable as the vertical dependent variable by entering a "d" or
  730.   "v".  To get rid of old variables, select the "Purge Unused Variables"
  731.   option.
  732.  
  733.   Printing:
  734.   To print a graph directly to a printer, DOS's GRAPHICS utility must be
  735.   loaded before starting the plotting menu.  When you have a graph that you
  736.   would like printed, press the <Shift-PrtSc> key (or just <PrntScrn> key on
  737.   enhanced keyboards).  See your DOS manual for details of the GRAPHICS
  738.   command.  Note that DOS version 3.3 and earlier can only print CGA mode
  739.   graphics while version 4.0 and later can print EGA and VGA graphics as
  740.   well.  You can force the plotting program to use CGA mode graphics by
  741.   starting the program with "wlplot cga".  This allows you to print the
  742.   screen, even if your DOS version is prior to 4.0, even if you have a VGA
  743.   card.  You can also print a screen by saving it to a file by selecting
  744.   "Save-PCX" and then importing the PCX file into a painting or word
  745.   processing program.  This allows you to merge plots with other graphics
  746.   into a document.  (See "PCX Format" above.)  WL-Plot is also compatible
  747.   with the Microsoft Windows (tm) "copy to clipboard" feature using the
  748.   <PrntScrn> key.
  749.  
  750.  
  751.  
  752.  
  753.  
  754.  
  755.  
  756.  
  757.  
  758.  
  759.  
  760.  
  761.  
  762.  
  763.  
  764.  
  765.  
  766.                                                             Plotting Programs
  767.  
  768.  
  769.  
  770.                                                                       Page 13
  771.  
  772.                                 Revision History
  773.  
  774.   1.5  Now accepts special characters in variable, constant, and function
  775.        names such as π, φ, ß, √, and Γ.  (see Special Characters on p. 8)
  776.  
  777.        Added the unary function "gamma."
  778.  
  779.        Removed the need for parentheses after functions.  A space is still
  780.        required after a function name to distinguish it from a user defined
  781.        variable.
  782.        Examples: sin Θ  is allowed for  sin(Θ)
  783.                  √ x    is allowed for  √(x)
  784.  
  785.        Improved the cursor movement for easier editing of equations.
  786.  
  787.        Added the RPN Mode function names "push" and "pop" to be synonyms for
  788.        "dup" and "drop" respectively.
  789.  
  790.        The distribution was changed so that all of the different modules of
  791.        WL-Plot were combined into a single executable file.  This reduces the
  792.        size of the distributed .exe file to less than 40% of the size of
  793.        previous distributions.  See Custom Distributions below (p. 15) if you
  794.        have need for stand alone modules or a non-overlaid program.
  795.  
  796.        The short-cut keys for zooming in on a graph were changed to from <F1>
  797.        and <F2> to <F3> and <F4> so that <F1> could be reserved for use as
  798.        the context sensitive help key.
  799.  
  800.        The equation is no longer printed on the screen when the graph is
  801.        plotted.  This feature had to be dropped since the .fon font file does
  802.        not support extended ASCII characters such as π or Γ.
  803.  
  804.        Added extensive context sensitive on-line help.
  805.  
  806.        Moved much of the documentation from WLPLOT.DOC to WLPLOT.HLP.
  807.  
  808.        Changed the name of the Standard Form conic equation to the General
  809.        Form conic equation to be more consistent with text books.
  810.  
  811.        Fixed some problems with Hercules graphics adapters.  Also added
  812.        MSHERC.COM to the distribution for Hercules users.  Still does not
  813.        return from the <F1> help feature correctly unless a plot has already
  814.        been graphed.  (I haven't got a clue as to why.)
  815.  
  816.        The prompts for real number values can now accept multiples of pi by
  817.        using <Ctrl-P>  to produce "π" as in "2.5π" or "-π" which causes the
  818.        value to be multiplied.  Multiplication of a number by pi is the only
  819.        operation allowed.
  820.  
  821.   1.12 Fix a bug in the Conic Section plotter that would occasionally cause
  822.        the program to abort when trying to plot a General Form equation.
  823.  
  824.   1.11 Changed maximum equation length from 80 characters to 200.
  825.  
  826.        Now prevents steps=0, which caused "division by zero" problems.  Also
  827.        now correctly reports large number of steps.
  828.  
  829.  
  830.                                                             Plotting Programs
  831.  
  832.  
  833.  
  834.                                                                       Page 14
  835.  
  836.        In the Conic Section program, added the automatic conversion to the
  837.        General form.
  838.  
  839.   1.1  Changed the menu program filename from the more descriptive
  840.        "plotmenu.exe" to the more rewarding "wlplot.exe."  Also changed the
  841.        name of the relation plotter from "last.exe" to "relat.exe."
  842.  
  843.        The name of the trinary function "ifte" (if-then-else) was shortened
  844.        to "if."  The name "ifte" is still legal for the sake of 
  845.        compatibility.
  846.  
  847.        Changed the method of error trapping to allow better handling of the
  848.        if(boolean,true statement,false statement).  Now, 
  849.                       if( x<0 , x , sqrt(x) )
  850.        is properly evaluated when x<0.  Before, both the true and false
  851.        statements had to evaluate to a real number in order for the result to
  852.        be evaluated.  Now, only the final answer of an expression must
  853.        evaluate to a real number.
  854.  
  855.        Added the unary function "isreal" (is it real)
  856.  
  857.        Changed the names of the Bessel functions from j0, j1, jn, y0, y1, and
  858.        yn to j_0, j_1, j_n, y_0, y_1, and y_n.
  859.  
  860.        The Relation Plotter was speeded up considerably.  It is also
  861.        considerably more accurate.  This speed and accuracy improvement is a
  862.        consequence of having the program automatically reduce the pixel
  863.        resolution value at the borders between two regions.  (Thanks goes to
  864.        The Stone Soup Group's Fractint for the "solid guessing" speed up
  865.        concept.)
  866.  
  867.        The way in which numeric values are converted into boolean values was
  868.        changed.  Values greater than zero are considered true, while values
  869.        less than or equal to zero are false.  Also, non-real values are
  870.        considered false.  Previously, only values equal to zero were
  871.        considered false and non-real values were not evaluated at all.  
  872.  
  873.        An option to turn the axis on or off has been added.  If Show Axis is
  874.        turned off, then the function is graphed on a blank screen.  Show Axis
  875.        overrides the Grid option.
  876.  
  877.        Selecting "Save" now stores the current equation(s) and settings to a
  878.        file.  Previously, a bit-mapped image was saved to disk along with
  879.        some of the settings.  Retrieved files must now be regenerated, but
  880.        they are a tiny fraction of the size of a bit-mapped image file.
  881.  
  882.   1.01 Fixed garbled error messages for certain RPN stack errors.
  883.  
  884.  
  885.   1.0  Original Program
  886.  
  887.  
  888.   Plans for future releases include:
  889.   - Improved Conic Section module.
  890.   - A Polynomial Plotting module.
  891.  
  892.  
  893.  
  894.                                                             Plotting Programs
  895.  
  896.  
  897.  
  898.                                                                       Page 15
  899.  
  900.                               Custom Distributions
  901.  
  902.   The current release of WL-Plot comes with a single executable file,
  903.   WLPLOT.EXE, which contains all of the plotting modules.  If for some
  904.   reason, you prefer to use the overlaid version or the stand alone version,
  905.   custom orders may be made.  In general, overlaid programs require less
  906.   memory, but more disk space and take a bit longer to load.  Overlaid
  907.   programs also required disk access even after the program has been loaded,
  908.   making the program run much slower on floppy drive and network systems. 
  909.   Programs without overlays can be used with executable compression programs
  910.   such as PKLITE (tm), DIET, and LZEXE which can reduce the size of an
  911.   executable file to about half its original size.  In order to allow WL-Plot
  912.   to fit on a single 360K floppy drive, the standard version executable file
  913.   has already been compressed with PKLITE ver. 1.15.  Below is a summary of
  914.   the three different ways WL-Plot can be distributed.
  915.  
  916.                       .exe size       required memory
  917.                                        VGA  (CGA)
  918.  
  919.   Combined Modules
  920.   (standard version)     125K          365K (340K)
  921.                         (290K uncompressed)
  922.   Best version if the memory is available.
  923.  
  924.  
  925.   Combined Modules with Overlays
  926.   (w.o. version)         324K          260K (240K)
  927.   Requires more disk space, but less memory.
  928.  
  929.  
  930.   Stand Alone Modules
  931.   (s.a. version)
  932.      Functions           134K          235K (210K)
  933.      Conics              106K          "     "
  934.      Derivatives         135K          "     "
  935.      Relations           127K          "     "
  936.      Bifurcation         128K          "     "
  937.      Curve Fit           132K          "     " (140K with no graphics)
  938.   Requires least memory and disk space if only one program is used.  This is
  939.   the only version that will work on computers with only 256K of memory. 
  940.   This version is also valuable if being run from a 360K floppy drive since
  941.   each of the modules can be placed on a different disk.
  942.  
  943.  
  944.   To order a Custom Distribution, send the description of the desired
  945.   configuration and $15 to the address listed at the bottom of this file.
  946.  
  947.  
  948.  
  949.  
  950.  
  951.  
  952.  
  953.  
  954.  
  955.  
  956.  
  957.  
  958.                                                             Plotting Programs
  959.  
  960.  
  961.  
  962.                                                                       Page 16
  963.  
  964.                                    In Closing
  965.  
  966.   A special word of thanks goes to my Physics and Algebra II students who
  967.   unknowingly were my original beta testers.  They are the reason I put these
  968.   programs together and made them publicly available.
  969.  
  970.                                  Please Read!!!
  971.   These programs are intended for use in educational settings only.  As a
  972.   teacher, my reward comes from knowing that my efforts have been fruitful. 
  973.   Although donations would be appreciated, the only payment that I ask is
  974.   that each user send a letter or postcard letting me know that he/she is
  975.   using my program.  Teachers may send a single letter with the names (or at
  976.   least the number) of students using the program each year.  This serves no
  977.   purpose other than to give me a pat on the back and to let me know that I
  978.   have contributed to the education of more people than I could have reached
  979.   directly.  (I call it ego-ware.)
  980.  
  981.   If WL-Plot should prove useful to someone outside of an educational setting
  982.   (such as in a job or even research), a reasonable payment of $25 is
  983.   required.  If anyone is interested in the source code, please contact me.
  984.  
  985.                    Copyright is retained by Wesley B. Loewer.
  986.  
  987.  
  988.   This program may not be sold without the expressed written consent of the
  989.   author.  This program may not be included as part of a package with other
  990.   materials such as text books without written permission from the author. 
  991.   All rights to this program belong to the author.
  992.  
  993.  
  994.   If you are a teacher and would like to swap ideas on how these programs can
  995.   be used in class, or if you are in the Houston area and are interested in
  996.   an inservice, feel free to contact me.
  997.  
  998.   Please send questions, suggestions, and contributions to:
  999.  
  1000.         Wesley B. Loewer          or     Wesley B. Loewer
  1001.         78 S. Circlewood Glen            McCullough High School
  1002.         The Woodlands, TX  77381         3800 S. Panther Creek Dr.
  1003.         (713) 292-3449                   The Woodlands, TX  77381
  1004.                                          (713) 367-1025 ext. 251
  1005.  
  1006.  
  1007.  
  1008.  
  1009.  
  1010.  
  1011.  
  1012.  
  1013.  
  1014.  
  1015.  
  1016.  
  1017.  
  1018.  
  1019.  
  1020.  
  1021.  
  1022.                                                             Plotting Programs
  1023.